package collection;

import java.util.ArrayList;
import java.util.List;

/**
 * Collection 接口常用方法
 */
public class CollectionMethod {

    public static void main(String[] args) {

        /*
            1)Collection 实现子类可以存放多个元素，每个元素可以是 Object
            2)有些 Collection 的实现类，可以存放重复的元素，有些不可以
            3)有些 Collection 的实现类，有些是有序的(List)，有些不是有序的(Set)
            4)Collection 接口没有直接的实现子类，是通过它的子接口 Set 和 List 来实现的
         */

        List list = new ArrayList<>();

        //add：添加单个元素
        list.add("jack");
        list.add(10);
        list.add(true);
        System.out.println("list: " + list);

        //remove：删除指定元素
        list.remove(0);//删除第一个元素
        list.remove(true);//指定删除某个元素
        System.out.println("list: " + list);

        //contains：查找元素是否存在
        System.out.println(list.contains(10));

        //size：获取元素个数
        System.out.println(list.size());

        //isEmpty：判断是否为空
        System.out.println(list.isEmpty());//F

        //clear：清空
        list.clear();
        System.out.println("list: " + list);

        //addAll：添加多个元素
        ArrayList list2 = new ArrayList();
        list2.add("红楼梦");
        list2.add("三国演义");
        list.addAll(list2);
        System.out.println("list: " + list);

        //containsAll：查找多个元素是否都存在
        System.out.println(list.containsAll(list2));//T

        //removeAll：删除多个元素
        list.add("聊斋");
        list.removeAll(list2);
        System.out.println("list: " + list);//[聊斋]


    }
}
